package org.ly817.my.spring.core.ioc.bean.enhance;

/**
 * 实现这个接口的bean，会在容器初始化后被注册到bean处理器列表
 * 在容器完成bean实例化、配置以及其他初始化方法前后要添加一些自己逻辑处理
 *
 * Created by LuoYu on 2018/5/3.
 */
public interface BeanPostProcessor {
    /**
     * 前置处理
     * @param bean
     * @param beanName
     * @return
     * @throws Exception
     */
    Object postProcessBeforeInitialization(Object bean, String beanName) throws Exception;

    /**
     * 后置处理
     * @param bean
     * @param beanName
     * @return
     * @throws Exception
     */
    Object postProcessAfterInitialization(Object bean, String beanName) throws Exception;

}
